Welcome Guest, you are in: Login
CTS Futures

Page History: Cancel Reject

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2012/12/19 17:19



Rejecting Attempts to Ammend or Cancel Orders

The Order Cancel Reject message (MsgType=9) is used by the T4 FIX API to electronically reject (failed) attempts to cancel or replace an order. Cancel Rejects are only generated for client side Order Cancel Request or Order Cancel Request messages. Unsolicited Cancel Rejects may also be generated for cancel rejects originated from non-T4-FIX-API applications (e.g. CTS front-end). This message applies to all CTS strategy types including outright futures, futures options, spreads and multileg strategies.

Identifying the rejected Cancel or Cancel Replace

The cancel reject message uses ClOrdID (Tag 11) to identify the failed cancel request or cancel replace request. Failed attempts originating from outside the T4 FIX API would carry a ClOrdId equivalent to the target order's OrderId (Tag 37).

Identifying the target order for which the cancel request or Cancel replace failed

The cancel reject message uses OrigClOrdID (Tag 41) to identify the order that the cancel reject refers to. The OrderId (Tag 37) also uniquely identifies the target order. Orders that were entered outside the T4 FIX API will carry OrigClOrdId (Tag 41) equivalent to the OrderId (Tag 37).


Message Dictionary

TagField NameReq'dComments
Standard HeaderYMsgType = 9
1AccountNAccount to which the cancel reject pertains.
11ClOrdIDY(Client-Side) identifier of the cancel request or cancel replace that was rejected.
41OrigClOrdIDY(Client-Side) identifier of the order that could not be canceled or cancel replaced.
37OrderIdNUnique identifier (provided by CTS) of the order that could not be canceled or cancel replaced.
39OrdStatusYOrder Status of the order that was cancel rejected. The valid values are:
0 = New
1 = Partially Filled
2 = Filled
3 = Done For the Day
4 = Canceled
5 = Replaced
6 = Pending Cancel
7 = Stopped
8 = Rejected
9 = Suspended
A = Pending New
B = Calculated
C = Expired
E = Pending Replace
X = Undetermined
60TransactTimeNTime the cancel or cancel replace was rejected. Specified in UTC form.
434CxlRejResponseToYIdentifies the type of request that this Cancel Reject is in response to. The valid values are:
1 = Order Cancel Request
2 = Order Cancel-Replace Request
102CxlRejReasonNCode to identify reason for cancel rejection. The valid values are:
1 = Unknown order
2 = Broker Option
58TextNFree form Text.
1028ManualOrderIndicatorNIndicates if the order was sent manually. Valid values are:
Y = Order was entered Manually
N = Order was entered by an Automated System, Program or Algorithm
Standard TrailerY


Sample Messages

Cancel Rejection of a Cancel Replace Request with a bad price


[FIXCANCELREPLACE] 34=435|49=T4Example|56=T4|50=TraderName|52=20121212-21:35:28.083|1=Account1|11=fr-634909233280833034|41=fn-634909233209540909|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|54=1|38=1|40=2|44=143001|59=0|167=FUT|21=1|60=20121212-21:35:28.083|204=0|
[FIXCANCELREPLACE]

[MsgSeqNum] 34 = 435
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SenderSubID] 50 = TraderName
[SendingTime] 52 = 20121212-21:35:28.083
[Account] 1 = Account1
[ClOrdID] 11 = fr-634909233280833034
[OrigClOrdID] 41 = fn-634909233209540909
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[SecurityID] 48 = CME_20121200_ESZ2
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[Side] 54 = 1 (BUY)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 143001
[TimeInForce] 59 = 0 (DAY)
[SecurityType] 167 = FUT (FUTURE)
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION)
[TransactTime] 60 = 20121212-21:35:28.083
[CustomerOrFirm] 204 = 0 (CUSTOMER)

[fixcancelreject] 34=2566|49=T4|56=T4Example|50=T4FIX|52=20121212-21:35:28.098|1=Account1|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|11=fr-634909233280833034|41=fn-634909233209540909|39=0|434=2|102=2|58=CME:FIX field incorrect 'Illegal Price: '143001.0 contract 'ESZ2' (ticks in 25, CAB of 0)'|60=20121212-21:35:49.172|1028=N|
[FIXCANCELREJECT]

[MsgSeqNum] 34 = 2566
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121212-21:35:28.098
[Account] 1 = Account1
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[ClOrdID] 11 = fr-634909233280833034
[OrigClOrdID] 41 = fn-634909233209540909
[OrdStatus] 39 = 0 (NEW)
[CxlRejResponseTo] 434 = 2 (ORDER_CANCEL_REPLACE_REQUEST)
[CxlRejReason] 102 = 2 (BROKER_OPTION)
[Text] 58 = CME:FIX field incorrect 'Illegal Price: '143001.0 contract 'ESZ2' (ticks in 25, CAB of 0)'
[TransactTime] 60 = 20121212-21:35:49.172
[ManualOrderIndicator] 1028 = N (NO)



Cancel Rejection of a Cancel Request of a previously canceled order


[FIXCANCEL] 34=439|49=T4Example|56=T4|50=TraderName|52=20121212-21:37:11.508|1=Account1|11=fc-634909234315082852|37=EDDF2612-A6E5-426D-A7A1-0925EBA836B5|41=fn-634909233209540909|48=CME_20121200_ESZ2|54=1|55=ES|207=CME_Eq|60=20121212-21:37:11.508|167=FUT|
[FIXCANCEL]

[MsgSeqNum] 34 = 439
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SenderSubID] 50 = TraderName
[SendingTime] 52 = 20121212-21:37:11.508
[Account] 1 = Account1
[ClOrdID] 11 = fc-634909234315082852
[OrderID] 37 = EDDF2612-A6E5-426D-A7A1-0925EBA836B5
[OrigClOrdID] 41 = fn-634909233209540909
[SecurityID] 48 = CME_20121200_ESZ2
[Side] 54 = 1 (BUY)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[TransactTime] 60 = 20121212-21:37:11.508
[SecurityType] 167 = FUT (FUTURE)


[fixcancelreject] 34=2571|49=T4|56=T4Example|50=T4FIX|52=20121212-21:37:11.508|1=Account1|37=NONE|11=fc-634909234315082852|41=fn-634909233209540909|39=8|434=1|102=1|58=Undetermined Order|60=20121212-21:37:11.508|1028=N|
[FIXCANCELREJECT]

[MsgSeqNum] 34 = 2571
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121212-21:37:11.508
[Account] 1 = Account1
[OrderID] 37 = NONE
[ClOrdID] 11 = fc-634909234315082852
[OrigClOrdID] 41 = fn-634909233209540909
[OrdStatus] 39 = 8 (REJECTED)
[CxlRejResponseTo] 434 = 1 (ORDER_CANCEL_REQUEST)
[CxlRejReason] 102 = 1 (UNKNOWN_ORDER)
[Text] 58 = Undetermined Order
[TransactTime] 60 = 20121212-21:37:11.508
[ManualOrderIndicator] 1028 = N (NO)


FIX API Home Page.

Trade how you want, where you want

support@ctsfutures.com (312) 939 0164

2 Pierce Pl, Suite 200, Itasca, IL 60143

© 2009-2023 Cunningham Trading Systems LLC All rights reserved.